Reducing the memory requirements of a data switch

ABSTRACT

A data switch is proposed which can be operated such that it generates a MA table of MAC addresses of devices associated with some of its ports, but not the MAC addresses associated with one of the ports. Packets received by the switch, other than from the port, are assumed to be destined for the port and are transmitted via the port. If the port is connected to a network, and all the other ports are connected to a relatively small number of devices, such as one device per port, then the memory requirement to store the MA table is dramatically reduced.

FIELD OF THE INVENTION

The present invention relates to a data switch. The switch isparticularly suitable for use in Ethernet voice communication devices.

BACKGROUND OF INVENTION

Data switches, such as Ethernet switches, are well known which transferdata packets between ingress/egress ports connected by a switchingfabric controlled by a control unit. Two or more of the ports of theswitch are connected (either directly or via other devices or networks)to devices having MAC (medium access control) addresses. Each of thedata packets contains a destination address specifying the MAC addressof the device to which the data packet is directed and an origin addressspecifying the MAC address of the device where the packet originated.

When the switch is first turned on, it typically does not “know” the MACaddresses of the devices connected to it, and which ports those devicesare connected to. Typically, the device learns this informationautomatically using the data packets it receives, by extracting theorigin addresses from the data packets and noting which port the datapacket arrived at. The association between these two pieces ofinformation is stored in a MAC address table (“MA table”). A variety ofalgorithms are known for constructing the table. When a data packet isreceived containing a destination address, the switch can look up theaddress in the MA table, find the associated port, and transmit the datapacket to that port, for onward transmission to the device having thatMAC address.

A significant problem, however, is that if the switch is transmittingdata among a very large number of devices, the size of the MA table mustbecome very great. This is especially true because many of thealgorithms for generating MA tables are inefficient in terms of theamount of writable memory required in relation to the amount of datawhich it actually has to store.

SUMMARY OF THE INVENTION

The present invention aims to provide a new and useful data switch, andin particular one with a lower memory requirement.

In general terms, the invention proposes that the MA table is notconstructed for MAC addresses associated with at least one of the portsof the switch, called here a “first port” of the switch. When the switchidentifies that a certain MAC address is associated with this firstport, it does not insert this information into the MA table.

The invention is particularly applicable to switches which are intendedto be used with a single one of the ports connected directly to acommunications network, such as a LAN, and with the other portsconnected directly to devices (or unused). In such circumstances, thefirst port is preferably the one connected to the LAN, so that the dataswitch may learn the MAC addresses associated with the devices, but notthe MAC addresses associated with the port which is connected to thenetwork. This means that the device will be capable of correctlytransferring data packets to the ports connected to the devices.

When an packet which is received from a port other than the first port,and the destination address is not one of the learnt MA addresses, theswitch may assume that the destination address is one of the (unlearnt)MAC addresses associated with the first port, and so transmit the packetto the first port for transmission to the network. This concept providesan alternative expression of the invention.

The first port of the switch may be predetermined (e.g. a port which isintended always to be the one connected to a LAN). Alternatively, thefirst port may be determined by a control signal applied from outsidethe switch, or automatically, e.g. based on an automatic determinationof which data port receives the greatest number of new packets, or whichdata port is associated with the greatest number of MAC addresses.

Preferably, the switch is provided with a first control register forstoring a control bit, and the switch is arranged, based on the value ofthe control bit, to either learn MA addresses selectively according tothe invention, or according to conventional learning mechanisms (i.e.with MAC addresses for all ports being learnt). This control bit may beset by a control signal from outside the switch, and this allows theswitch of the invention to be operated as a conventional switch whendesired.

In a preferred embodiment, the switch is arranged to have at least oneport for receiving/transmitting voice signals, i.e. data packetscontaining voice data collected by a microphone and a destinationaddress indicating where the data packets are to be sent.

For example, it is known to provide a voice communication device forsupporting communication with a second device. The communication deviceincludes a microphone, a speaker, circuitry for transforming soundsignals received from the microphone into data packets and fortransforming data packets into control signals for the speaker, and adata switch having a port connected to the circuitry. The data switch isconnected to the second device via a network such as a LAN network.Typically, the data switch includes one or more further ports forconnection to other devices, such as personal computers. Such a systemmay be implemented using a switch according to the invention. In thiscase, the first port of the switch is preferably the one connected tothe network.

In this embodiment, the switch will typically have a small number ofother ports, e.g. no more than 5, no more than 10 or no more than 15,and these other ports will be associated with a relatively low number ofMAC addresses, typically no more than one or two. Thus, the maximum sizeof the MA table required to learn the MAC addresses associated with allthe ports apart from the first port will typically only have to beenough to learn no more than 5 to 30 data items.

BRIEF DESCRIPTION OF THE FIGURES

Preferred features of the invention will now be described, for the sakeof illustration only, with reference to the following FIGURES in which:

FIG. 1 is a schematic illustration of an embodiment of the invention.

DETAILED DESCRIPTION OF THE EMBODIMENTS

Referring to FIG. 1, the embodiment illustrated is a voice communicationdevice 1 including a microphone 3 and a speaker 5. The voicecommunication device 1 includes a socket 2 by which the voicecommunication device 1 can be connected to a LAN (not shown) by means ofa plug 6 attached to a cable 8 leading to the LAN. The LAN includes anumber of devices, each having a respective MAC address. At least one ofthese devices is another voice communication device, and the voicecommunication device 1 is for communication with a selected one or moreof these other voice communication devices.

The microphone 3 and speaker 5 are connected to circuitry 7 whichconverts sound signals captured by the microphone 3 into data packetsincluding the destination address of the other voice communicationdevice(s) with which the voice communication device 1 is incommunication. The circuitry 7 is also adapted to convert data packetsoriginating in the other voice communication device(s) into signals fortransmission to the speaker 5 for conversion into sound signals.

The voice communication device includes a data switch 4, having ports 9,11, 13, 15, 17, 19. Each of these is an ingress/egress port. The port 9is connected to the circuitry 7, and the port 11 is connected to thesocket 2 for connection to the LAN network. The ports 13, 15, 17, 19 areconnected to respective sockets 23, 25, 27, 29, to which other devices,such as personal computers may be connected. Although four such socketsare shown, the number of sockets is not limited in this respect.

The switch 4 includes a switching fabric (not shown, but of aconventional design), and a control unit (not shown) for controlling theswitching fabric. The control unit includes a first control register(not shown) which stores a value which can be set by the user of thevoice communication device 1. In a first setting the control unit of theswitch 4 uses a conventional learning algorithm to learn the MACaddresses of all devices which are connected to the switch 4 (includingthose devices which are connected to the switch 4 via the LAN and theport 11), and the association between those addresses and the ports 9,11, 14, 15, 17, 19.

In a second setting of the first control register, however, the learningalgorithm is different in that switch 4 does not store the MAC addressesof the devices connected to the switch 4 via the port 11. In otherwords, the port 11 is a “first port” as defined above. It continues,however, to learn the addresses of the devices connected to the otherports 9, 13, 15, 17, 19 (note however that since the port 9 is alwaysconnected to the same circuitry 7, it may not be necessary to learn theMAC address associated with this port; in other words, this MAC addressmay be preprogrammed).

Generally, a small number of devices will be attached to the switch 4using the ports 13, 15, 17, 19 (e.g. typically one device per port), sothe maximum number of data items (i.e. MAC addresses and theirassociations with ports) which the switch 4 is required to learn istypically not more than about 5, not more than about 10, or not morethan about 15.

The data switch may control a second control register (e.g. set by anexternal signal), which determines whether the state operates in a“learning state” or a “normal state”.

In the learning phase, the learning of this data is via conventionallearning techniques (as sketched above) based on the origin address ofdata packets received through the ports. For example, when a data packetis received from any of the ports having a destination address which isnot associated in the address table with any of the ports, that datapacket is transmitted to all the (other) ports 9, 11, 13, 15, 17, 19.

However, once it is determined that the addresses of all the devicesconnected the ports 9, 13, 15, 17, 19 have been inserted into theaddress table, the second control register is reset to indicate that theswitch should operate in the normal mode, and the operation of theswitch 4 is as follows.

If the switch receives a data packet from any of the ports 9, 11, 13,15, 17, 19 having a destination address which corresponds (according tothe MA table) to one of the ports 9, 13, 15, 17, 19, then the switchtransmits the data packets to that switch. In this way the switch makespossible communication between the circuitry 7 and the devices attachedto the sockets 23, 25, 27, 29, and allows for incoming data packets fromthe LAN to be directed to the circuitry 7 or the correct one of thedevices attached to the sockets 23, 25, 27, 29.

If a data packet is received from the port 11 which does not have adestination address associated (according to the MA table) with any ofthe ports 9, 13, 15, 17, 19, then the packet is discarded.

If, a data packet is received from any of the ports 9, 13, 15, 17, 19which does not have a destination address associated (according to theMA table) with any of the ports 9, 13, 15, 17, 19, then the packet istransmitted only to the port 11, which transmits it in turn to the LAN.It is then the job of the LAN to ensure that the packet reaches thedevice associated with the packet's destination address.

Thus, in comparison to the first setting of the first control register(and in comparison to the known systems), the second setting of thefirst control register permits the memory usage of the switch to be verymuch reduced, while maintaining the same performance level.

Note that the first control register may be identical to the secondcontrol register. In other words, it may be the same control bit whichin a first setting indicates that the switch should operate as in theprior art, and in a second setting indicates that learning has beencompleted and that the switch should (i) no longer learn addressesassociated with the port 11, and (ii) should discard all packetsreceived from the port 11 which are not recognised by the table.

Note that in this case, by the time the control bit is changed over atthe end of the learning phase, the address table may have already learntsome MAC addresses associated with the port 11. In this case, during thenormal phase, data packets received from the ports 9, 13, 15, 17, 19carrying a destination address associated by the address table with theport 11 are forwarded to the port 11, just as they would be if theirdestination addresses were not recognised at all by the address table.

Although only a single embodiment of the invention has been described,many variations are possible within the scope of the invention as willbe clear to a skilled reader. In particular, although the switch isshown in use in a voice communication device, other applications of theswitch are possible, particularly in cases when the switch is connectedto a network via a single one of its ports and through each of its otherports to a small number of devices, such as exactly one other device, nomore than 2 devices, or no more than 3 devices.

1. A data switch having a plurality of ingress/egress ports and fortransmitting data packets including a destination address, the dataswitch having address table construction means for generating a tablecontaining associations between ports of the switch and MAC addresses ofany devices connected to the switch via those ports, the address tableconstruction means being operable to construct said table in respect ofall but a first one of the ports.
 2. A data switch according to claim 1in which the address table construction means is further operable toconstruct said table in respect of all of the ports, according to thesetting of a control register.
 3. A data switch for transmitting datapackets including a destination address, the data switch comprising: afirst ingress/egress port and a plurality of second ingress/egressports; table storage means for storing a table containing associationsbetween the second ports of the switch and MAC addresses of any devicesconnected to the switch via the second ports; a switching fabric, and acontrol unit for controlling the switching fabric, the control unitbeing arranged, upon receiving a data packet from any of the secondports having a destination address which is not stored in the table, tocontrol the switching fabric to transmit the data packet to the firstingress/egress port.
 4. A data switch according to any preceding claimwhich is connected to a communication network via the first port.
 5. Aswitch according to any preceding claim having at least one port otherthan the first port arranged to receive and transmit voice signals.
 6. Avoice communication device for supporting communication with a seconddevice, the communication device comprising: a microphone, a speaker,circuitry for transforming sound signals received from the microphoneinto data packets and for transforming data packets into control signalsfor the speaker, and a data switch according to any of claims 1 to 4connected to the circuitry.
 7. A voice communication device according toclaim 6 further including means for connecting one or more of the portsother than the first port to devices which each have a MAC address.
 8. Avoice communication device which is connected to a communicationsnetwork via the first port of the switch.
 9. A method of operating adata switch comprising a plurality of ingress/egress ports, the methodincluding: generating a table containing associations between ports ofthe switch and MAC addresses of any devices connected to the switch viathose ports, the generation of the table including constructing saidtable in respect of all but a first one of the ports.
 10. A method ofoperating a data switch for switching data packets including adestination address, the data switch comprising a first ingress/egressport, a plurality of second ingress/egress ports, and a memory storing atable containing associations between second ports of the switch and MACaddresses of any devices connected to the switch via the second ports,the method including, upon receiving a data packet from any of thesecond ports containing a destination address which is not stored in thetable, transmitting the data packet to the first ingress/egress port.